#ifndef __LJMU_MY_GAMEAPP_H_
#define __LJMU_MY_GAMEAPP_H_H

#include "cljmudx10baseapp.h"

class CMyDX10GameApp :	public CDX10BaseApplication
{
public:
	//---------CONSTRUCTORS/DESTRUCTORS-----------------------------------------------
	CMyDX10GameApp(void): CDX10BaseApplication(){}		//Standard Constructor - We Have No Dynamic Data so nothing to Initialise
	virtual ~CMyDX10GameApp(void){}						//Standard Destructor - We Have No Dynamic Data so nothing to cleanup

	//---------METHOD OVERRIDES-------------------------------------------------------
	//Concrete Implementation of our Windows Callback function, needs to handle other types of messages
	virtual LRESULT CALLBACK customWndProc(HWND pwindowhandle, UINT pmessagetype, WPARAM pwparam, LPARAM plparam);
	
	//Concrete Implementation of our Initialise Method, used to load game content for our game
	virtual bool customInit();
	//Concrete Implementation of our Update Method, used to apply game logic rules and perform sub-component processing
	//such as Audio, AI, Collision Detection, Physics, UI, Character and Sprite Movement etc.
	virtual bool customUpdate();										
	//Concrete Implementation of our Render Method, used to draw our game objects to screen	
	virtual bool customRender();
	//Concrete Implementation of our Cleanup Method, used to destroy dynamic data and unload objects such as textures.
	virtual bool customCleanup();
	
};

#endif


